

import java.util.ArrayList;
import java.util.List;

public class TestaConta {

	public static void main(String[] args) {

		Conta conta = new Conta();
		Conta conta2 = new Conta(5, "Cliente", 1500);

		conta.depositar(1000);
		conta.sacar(1000);
		conta.imprimir();

		List<Conta> contas = new ArrayList<Conta>();
		contas.add(new Conta(1, "Cadu", 1000));
		contas.add(new Conta(2, "Fulano", 300));
		contas.add(new Conta(3, "Ciclan", 750));
		contas.add(new Conta(4, "Beutrano", 499));
		contas.add(conta);
		contas.add(conta2);

		listarContas(contas);
		double saldo = saldoTotal(contas);
		System.out.println("Saldo Total: " + saldo);

		exluirConta(conta, contas);
		listarContas(contas);

		exluirContas(5, contas);
		listarContas(contas);

		imprimirContasComSaldoAcimaDe(500, contas);

	}

	private static void listarContas(List<Conta> contas) {
		System.out.println("Imprimindo todas as contas...");
		for (Conta conta : contas) {
			conta.imprimir();
		}
		System.out.println("Fim da Impressao");
	}

	private static double saldoTotal(List<Conta> contas) {
		double saldo = 0;
		for (Conta conta : contas) {
			saldo += conta.getSaldo();
		}
		return saldo;
	}

	private static void exluirConta(Conta conta, List<Conta> contas) {
		contas.remove(conta);
	}

	private static void exluirContas(int numero, List<Conta> contas) {

		for (int i = 0; i < contas.size(); i++) {
			if (contas.get(i).getNumero() == numero) {
				contas.remove(contas.get(i));
			}
		}
	}

	private static void imprimirContasComSaldoAcimaDe(double saldo,
			List<Conta> contas) {
		System.out.println("Saldo acima de " + saldo
				+ " ...");
		for (Conta conta : contas) {
			if (conta.getSaldo() > saldo) {
				conta.imprimir();
			}
		}
		System.out.println("Fim");
	}

}